/**
 * 元组是对数组更加严格的限制（对数组的每个位置的元素做类型限制）
 */

let array1: (string | number | boolean)[] = ['jimmy', 22, true]
// 数组下面的赋值会直接通过  不会报错
array1[0] = false

let array2: [string, number, boolean] = ['jimmy', 22, true]
/**
 * 下面的代码会直接报错
 *  元组就是限定了 数组中每个位置的 元素类型
 *  如 array2 第一个是字符串 第二个是数子 第三个是布尔值
 *    这种元组 就是规定死了  把第一个改成字符串编译时就会直接报错 因为布尔值不能设置到字符串的位置
 */
// array2[0] = false
